package com.example.optimizaapp.domain.Utilities;

import java.lang.reflect.Array;
import java.util.ArrayList;

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

import android.os.AsyncTask;
import android.util.Log;
import com.example.optimizaapp.domain.EstadoIncidente;
import com.example.optimizaapp.domain.ManejadorIncidente;

public class GetEstadosIncidente extends AsyncTask<String, Void, ArrayList<EstadoIncidente>> {

	public static final String DATA_KEY="data";
	public static final String ID_KEY="id";
	public static final String DESCRIPCION_KEY="descrEstado";
	private ManejadorIncidente mi = ManejadorIncidente.getManejadorIncidente();
		
	@Override
	protected ArrayList<EstadoIncidente> doInBackground(String... params) {
		String returned = Webservices.callWebService(params[0]);
		ArrayList<EstadoIncidente> estados = new ArrayList<EstadoIncidente>();
		try {
										
					JSONObject response = new JSONObject(returned);
					Log.d("RESPONSE", returned);
					JSONArray jsonEstados = response.getJSONArray(DATA_KEY);
					
					for(int j = 0; j < jsonEstados.length(); j++){
						 JSONObject jEstado = jsonEstados.getJSONObject(j);
						 EstadoIncidente e = new EstadoIncidente();
						 e.setDescripcion(jEstado.getString(DESCRIPCION_KEY));
						 e.setId(jEstado.getInt(ID_KEY));
						 estados.add(e);
					}
					mi.setEstados(estados);
		} catch (JSONException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}  catch (RuntimeException e){
			e.printStackTrace();

		}
		
		return estados;
	}
	

}
